#pragma once
#ifndef skyCanvas_h__
#define skyCanvas_h__
#include "./skyAdapter.h"

#ifdef _SYMBIAN
#include "../adapter/symbian/symCanvas.h"
#elif defined(_GLES_)
#include "../adapter/gles/glCanvas.h"
#elif defined(_DX90_)
#include "../adapter/dx90/dxCanvas.h"
#endif
namespace Sky
{
	class myResMgr;
}
namespace Sky
{
	using namespace Sky;
	class Pict;
	class Canvas : public OSCanvas
	{
	public:
		
	public:
		Bool  init(myResMgr* mgr,i32 w,i32 h,i32 Format_,u32 subFormat = Format_none);
        Bool  attachPict(Pict* pict);
        Pict*  detachPict();
		Void  unInit();
		Pict*  getPict(){return _pict;}
		const Size  getSize(){return _size;};
	protected:
		Pict* _pict;
		Size _size;
	};

	typedef RefPtr<Canvas> CanvasPtr;
}
#endif // skyCanvas_h__
